//package test_achieve.userapp;
//
//import constant.Constant;
//import cucumber.api.PendingException;
//import cucumber.api.java.en.Given;
//import cucumber.api.java.zh_cn.同时;
//import cucumber.api.java.zh_cn.当;
//import cucumber.api.java.zh_cn.那么;
//import org.junit.Assert;
//import org.openqa.selenium.By;
//import util.tools.CommonTools;
//
//import java.util.concurrent.TimeUnit;
//
///**
// * Created by Benchi on 2017/8/2.
// */
//public class OrderMain {
//    String orderNumber="";
//
//    @Given("^a切换1城市到：(.+)$")
//    public void a切换城1市到(String city) throws Throwable {
//        //点击切换城市的图标city
//        if(CommonTools.isElementExist(Constant.clientDriver,By.id("cn.ishansong:id/menu_right"))){
//            Constant.clientDriver.findElement(By.id("cn.ishansong:id/menu_right")).click();
//        }
//
//        //选择城市
//        Boolean flag = true;
//        //如果在第一屏中，有该城市，则直接选择，否则 向上滑屏，直到看到该城市为止
//        while (flag){
//            Constant.clientDriver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);//查找元素超时时间2秒
//            if(CommonTools.isElementExist(Constant.clientDriver,"new UiSelector().text(\""+city+"\")")){
//                Constant.clientDriver.findElementByAndroidUIAutomator("new UiSelector().text(\""+city+"\")").click();
//                flag = false;
//            }else{
////                Constant.clientDriver.swipe(width/2, height*7/8,
////                                            width/2, height*1/8, 1000);
////                Helper.swipe(Constant.clientDriver,"up"); 滑屏
//            }
//        }
//        Constant.clientDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);//查找元素超时时间2秒
//
//
//    }
////    @Given("^a输入用户的账户密码:(.+)：(.+)$")
////@Given("^a输入物品重量:(\\d+)$")
////    public void a输入用户的账户_密码(String name, String pw) throws Throwable {
//
//    @Given("^a输入地址:(.+)$")
//    public void  a输入地址(String adr) throws Throwable {
//        //搜索框内输入地址
////        System.out.prinln("1111============"+Constant.clientDriver.findElement(By.id("cn.ishansong:id/local_map_search_text")).getSize());
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/local_map_search_text")).click();
////        Thread.sleep(5000);
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/local_search_edit")).sendKeys(adr);
//        //选择第一个搜索结果
////        Thread.sleep(5000);
//        Constant.clientDriver.findElements(By.id("cn.ishansong:id/addr_txt")).get(0).click();
//    }
//
//    @Given("^a输入楼层门牌号$")
//    public void a输入楼层门牌号() throws Throwable {
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/detail_addr_edit")).sendKeys("BC_home666");
//    }
//
//    @Given("^a输入姓名$")
//    public void a输入姓名() throws Throwable {
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/user_name_et")).sendKeys("BC");
//    }
//    @Given("^a输入手机号:(.+)$")
//    public void a输入手机号(String tel) throws Throwable {
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/user_mobile_et")).sendKeys(tel);
//    }
//    @Given("^a收寄件信息点击确定$")
//    public void a收寄件信息点击确定() throws Throwable {
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/post_btn")).click();
////        Thread.sleep(5000);
//    }
//
//     @那么("^a确认订单总价:(.+)$")
//    public void a确认订单总价(String price) throws Throwable {
////         Helper.swipe(Constant.clientDriver,"up"); 滑屏
//       //实际结果
//        String s= Constant.clientDriver.findElement(By.id("real_amount_txt")).getText();
//        Assert.assertEquals(price.trim(),s);
//        //把订单价格 例如：￥16 转为 float 16
//        Constant.appOrderAmount = Float.valueOf(CommonTools.getNumbers(s));
//    }
//
//    @Given("^a点击下一步$")
//    public void a点击下一步() throws Throwable {
////        Constant.clientDriver.findElementByAndroidUIAutomator("new UiSelector().text(\"下一步\")").click();
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/jisuan_btn")).click();
//    }
//
//    @那么("^a确认支付总价:(.+)$")
//    public void a确认支付总价(String price) throws Throwable {
//        //实际结果
//
//         String appOrderAmount= Constant.clientDriver.findElement(By.id("cn.ishansong:id/actual_totalcount_txt")).getText();
////         Constant.appOrderAmount=Float.parseFloat(Helper.getNumbers(appOrderAmount));
////         System.out.println("获得支付总价=========="+Constant.appOrderAmount);
//         Assert.assertEquals(price.trim(),appOrderAmount);
//    }
//    @Given("^a获取支付总价$")
//    public void a获取支付总价() throws Throwable {
//        //实际结果
//        String appOrderAmount= Constant.clientDriver.findElement(By.id("cn.ishansong:id/actual_totalcount_txt")).getText();
//        Constant.appOrderAmount=Float.parseFloat(CommonTools.getNumbers(appOrderAmount));
//        System.out.println("获得支付总价=========="+Constant.appOrderAmount);
//    }
//    @Given("^a获取账户余额$")
//    public void a获取账户余额() throws Throwable {
//        //app端客户账户余额
//        String account= Constant.clientDriver.findElement(By.id("cn.ishansong:id/account_txt")).getText();
//        Constant.appAccount=Float.parseFloat(CommonTools.getNumbers(account));
//        System.out.println("获得账户余额=========="+Constant.appAccount);
//    }
//
//    @Given("^a点击返回图标$")
//    public void a点击返回图标() throws Throwable {
//        Constant.clientDriver.findElement(By.id("custom_title_btn_left")).click();
//    }
//
//    @Given("^a点击订单详情$")
//    public void a点击订单详情() throws Throwable {
//        Constant.clientDriver.findElement(By.id("orderdetail_txt")).click();
//    }
//    @Given("^a用户在订单详情页面获取订单号码$")
//    public void a用户在订单详情页面获取订单号码() throws Throwable {
//        orderNumber= Constant.clientDriver.findElement(By.id("tasknum_txt")).getText();
//    }
//    @那么("^a订单详情正确:(.+)$")
//    public void a订单详情正确(String p) throws Throwable {
//        //1 订单详情中 订单号与下单时的订单号一致  2实付款金额正确
////        Helper.swipe(Constant.clientDriver,"up"); 滑屏
//        String orderPrice= Constant.clientDriver.findElement(By.id("actual_totalcount_edit")).getText();
//        Assert.assertEquals(Constant.OrderNumbuter.get(Constant.OrderNumbuter.size()-1),orderNumber);
//        Assert.assertEquals(p,orderPrice);
//    }
//    @那么("^a加价后订单详情正确:(.+)$")
//    public void a加价后订单详情正确(String p) throws Throwable {
//        //1 订单详情中 订单号与下单时的订单号一致  2实付款金额正确
//        String orderPrice= Constant.clientDriver.findElement(By.id("actual_totalcount_edit")).getText();
//        Assert.assertEquals(Constant.OrderNumbuter.get(Constant.OrderNumbuter.size()-1),orderNumber);
//        Assert.assertEquals(p,orderPrice);
//    }
//    @Given("^a进入全部订单列表页$")
//    public void a进入全部订单列表页() throws Throwable {
//        //1 在订单详情页点击回退按钮
//        Constant.clientDriver.findElement(By.id("custom_title_btn_left")).click();
//        //2 到下单页面后 点击个人中心图标
//        Constant.clientDriver.findElement(By.id("custom_title_btn_left")).click();
//        //3 到个人中心页后 点击 我的订单
//        Constant.clientDriver.findElementByAndroidUIAutomator("new UiSelector().text(\"我的订单\")").click();
//    }
//    @那么("^a获得该订单$")
//    public void a获得该订单() throws Throwable {
//        //验证订单列表页中第一个订单，是刚刚下的订单
//        String orderNumber=Constant.clientDriver.findElements(By.id("tasknum_txt")).get(0).getText();
//        Assert.assertEquals(Constant.OrderNumbuter.get(Constant.OrderNumbuter.size()-1),orderNumber);
//        //在全部单 页面点击刚下的单
//        Constant.clientDriver.findElements(By.id("tasknum_txt")).get(0).click();
//    }
//
//    @同时("^a设置夜间取件$")
//    public void a设置夜间取件() throws Throwable {
//        //点击取件时间
//        Constant.clientDriver.findElement(By.id("cn.ishansong:id/time_txt")).click();
//        int width= Constant.clientDriver.manage().window().getSize().getWidth();
//        int height= Constant.clientDriver.manage().window().getSize().getHeight();
//        //------设置为凌晨3点取件
//        //先设置为明天，以便可以选择凌晨
//        Constant.clientDriver.swipe(width/4, height*7/8,
//                    width/4, height*1/8, 1000);
//         //向下滑到凌晨3点
//        Constant.clientDriver.swipe(width/2, height*12/16,
//                    width/2, height*15/16, 1000);
//        //点击确定
//         Constant.clientDriver.findElement(By.id("cn.ishansong:id/ok_btn")).click();
//
//    }
//
//    @当("^a用户加价重推:(\\d+)$")
//    public void a用户加价重推(int addMoney) throws Throwable {
//        //在订单详情页，点击
//        Constant.clientDriver.findElement(By.id("right_btn")).click();
//        int width= Constant.clientDriver.manage().window().getSize().getWidth();
//        int height= Constant.clientDriver.manage().window().getSize().getHeight();
//
//        if(addMoney == 5){
//            Thread.sleep(2000);
//            Constant.clientDriver.swipe(width/2, height*13/16,
//                    width/2, height*15/16, 2000);
//        }else if(addMoney > 10){//从15元开始，每增加5元 向上滑动一次
//            //根据 加价金额 确定向上滑动的次数，一次5元
//            for(int i=2;i<(addMoney/5);i++){
//                Thread.sleep(2000);
//                Constant.clientDriver.swipe(width/2, height*27/30,
//                        width/2, height*26/30, 2000);
//            }
//        }
//
//        //选择加价金额后，点击确定
//        Constant.clientDriver.findElement(By.id("ok_btn")).click();
//        //页面上方显示的 加价金额 例如：10元
//        String addPrice1=Constant.clientDriver.findElement(By.id("add_price_txt")).getText();
//        //页面下方显示的 加价金额  例如：￥10
//        String addPrice2=Constant.clientDriver.findElement(By.id("actual_totalcount_txt")).getText();
//        Assert.assertEquals(addMoney+"元",addPrice1);
//        Assert.assertEquals("￥"+addMoney,addPrice2);
//        //点击 支付
//        Constant.clientDriver.findElement(By.id("post_btn")).click();
//
//    }
//    @那么("^a取消订单成功$")
//    public void a取消订单成功() throws Throwable {
//        Assert.assertTrue(CommonTools.isElementExist( Constant.clientDriver,"new UiSelector().text(\"退款成功\")"));
//    }
//    @当("^a从全部订单列表页点击订单详情$")
//    public void a从全部订单列表页点击订单详情() throws Throwable {
//        Constant.clientDriver.findElement(By.id("tasknum_txt")).click();
//    }
//    @当("^a点击再来一单$")
//    public void a点击再来一单() throws Throwable {
//        Constant.clientDriver.findElementByAndroidUIAutomator("new UiSelector().text(\"再来一单\")").click();
//    }
//
//
//}
